package com.cn.wanxi.service.impl;

import com.cn.wanxi.dao.ICompanyDao;
import com.cn.wanxi.dao.NavDao;
import com.cn.wanxi.dao.impl.CompanyImpl;
import com.cn.wanxi.dao.impl.NavImpl;
import com.cn.wanxi.dto.CommonModelDto;
import com.cn.wanxi.dto.CompanyModelDto;
import com.cn.wanxi.model.CompanyModel;
import com.cn.wanxi.model.NavModel;
import com.cn.wanxi.service.ICommonService;
import redis.clients.jedis.Jedis;

import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

public class CommonServiceImpl implements ICommonService {


    public CommonServiceImpl() {
        //将数据新增到数据库
//        ICompanyDao iCompanyDao=new CompanyImpl();
//        CompanyModel companyModel=new CompanyModel();
//
//        iCompanyDao.addCompany(companyModel);
    }

    /**
     * 封装公共信息
     *
     * @return
     */
    @Override
    public CommonModelDto getCommonModelDto() {
        CommonModelDto commonModelDto = new CommonModelDto();
        //得到公司信息
        commonModelDto.setCompanyModel(getCompanyModel());
        //得到导航信息
        commonModelDto.setNavList(getNavModelList());
        return commonModelDto;
    }

    /**
     * 得到公司信息
     * 第一次需要从数据库里面去取，第二次以后需要从缓存里面取
     * 所以需要用到redis，即先导包
     * synchronized同步
     *
     * @return
     */
    private CompanyModel getCompanyModel() {
        ICompanyDao iCompanyDao = new CompanyImpl();
        return iCompanyDao.getCompanyModel();
    }

    /**
     * 查询导航信息
     * 首先去缓存里面读取，如果有值，则读取缓存，没有，则读取数据库
     *
     * @return
     */
    private List<NavModel> getNavModelList() {

        NavDao navDao = new NavImpl();
        return navDao.getNavModelList();
    }
}
